home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / tools / xb / sample / rastest1.bas < prev    next >
BASIC Source File  |  1995-06-17  |  2KB  |  65 lines

  1.  
  2. /* ラスタスクロールのサンプル
  3. /* BG0 をウネウネと縦横方向にスクロールさせます。
  4.  
  5. dim d(127,250),e(359)
  6. dim int ch(7)={&h102,0,&h103,0,&h104,&h105,&h106,0}    /* 猫の走るパターン
  7. dim int df(15)={5,6,5,2, 5,6,6,2, 5,7,7,2, 6,7,8,3}    /* 猫の移動量
  8. dim int x(63),y(63),n(63),s(63)
  9. int i,j,N=63
  10.  
  11.  /* 猫の初期位置
  12. for i=0 to N
  13. x(i)=int(rnd()*256)+16
  14. y(i)=int(rnd()*224)+16
  15. n(i)=rand() and 3
  16. s(i)=(rand() and 3)*4
  17. next
  18.  
  19.  /*
  20. screen 0,3,0,1
  21. sp_init():sp_clr(0)
  22. spfile_def("cat2.sp",1)
  23. palfile_def("cat2.pal",1)
  24. sp_disp(1):sp_on(0,127)
  25. bg_set(0,0,1)
  26.  
  27.  /* 猫を敷き詰める
  28. for i=0 to 30:for j=0 to 20
  29. bg_put(0,(j and 1)+i*2  ,j*2  ,&h308)
  30. bg_put(0,(j and 1)+i*2  ,j*2+1,&h309)
  31. bg_put(0,(j and 1)+i*2+1,j*2  ,&h30a)
  32. bg_put(0,(j and 1)+i*2+1,j*2+1,&h30b)
  33. next:next
  34.  
  35.  /* ラスタスクロールデータの作成
  36. for j=0 to 255
  37.     e(j)=int(16*cos(pi(j)/128)+.5)+18  + ((int(60*sin(pi(j)/128)+.5)+100) shl 16)
  38. next    /*   ^^^^^ y 軸方向のデータ ^^^^^     ^^^^^^^ x 軸方向のデータ ^^^^^^
  39. for i=0 to 127:for j=0 to 250
  40.     d(i,j)=e((i*2+j)and 255)
  41. next:next:beep
  42.  
  43.  /* ラスタスクロールデータのセット
  44. ras_scroll_set(2,d,,,8)
  45.  /* ras_scroll_set(2,d,127,250,8) と同じ
  46.  
  47.  /* ラスタスクロール開始
  48. ras_scroll_stat(1)
  49.  
  50.  /* 猫走る
  51. while 1
  52. for i=0 to N
  53. x(i)=x(i)-df(n(i)+s(i))
  54. sp_set(i*2,x(i),y(i),ch(n(i)*2))
  55. sp_set(i*2+1,x(i)+16,y(i),ch(n(i)*2+1))
  56. n(i)=(n(i)+1)and 3
  57. if x(i)<8 then x(i)=256+16:y(i)=int(rnd()*224)+16
  58.  /* 高クロック・030 ユーザは適当にウエイトを入れましょう
  59.  /* for j=0 to 500:next
  60. next
  61. endwhile
  62.  
  63.  /* 終了は CTRL+C。ちゃんとラスタスクロールも止まります。
  64.  
  65.